From 4371408cb84915c01b262f577803bbbd2e403b5d Mon Sep 17 00:00:00 2001 From: robertl Date: Mon, 30 Nov 2009 14:13:14 +0000 Subject: [PATCH] Improve Garmin PVT speed reporting. --- garmin.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/garmin.c b/garmin.c index f25ae9f39..6714e82a8 100644 --- a/garmin.c +++ b/garmin.c @@ -638,16 +638,13 @@ pvt2wpt(GPS_PPvt_Data pvt, waypoint *wpt) wpt->longitude = pvt->lon; WAYPT_SET(wpt,course,1); WAYPT_SET(wpt,speed,1); - /* convert to true course in degrees */ - if ( pvt->east >= 0.0 ) - wpt->course = 90 - DEG(atan(pvt->north/pvt->east)); - else - wpt->course = 270 - DEG(atan(pvt->north/pvt->east)); -#if 0 + + wpt->course = 180 + DEG(atan2(-pvt->east, -pvt->north)); + /* velocity in m/s */ - wpt->speed = sqrt(pvt->north*pvt->north + pvt->east*pvt->east); - wpt->vs = pvt->up; -#endif + WAYPT_SET(wpt,speed, sqrt(pvt->north*pvt->north + pvt->east*pvt->east)); + // wpt->vs = pvt->up; + /* * The unit reports time in three fields: * 1) The # of days to most recent Sun. since 1989-12-31 midnight UTC. -- 2.30.2